home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga CD32 Gamer 16
/
CD32 Gamer - 1995 - Issue 16.iso
/
pd
/
casino
/
casino.amos
/
casino.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1995-08-11
|
6KB
|
258 lines
Rem ********** (C)1995 Tom Wysocki ***********
Rem ********** <synth@io.org> ***********
Rem ********** CASINO at TOM's ***********
MAIN:
Dim N$(8)
Dim S(8)
Dim Y(3)
Dim DES(3)
Dim COU(3)
Dim R(3)
Do
Gosub INITIAL_SETTING
Gosub THE_GAME
Loop
'
' ******* ****** ******* ******** ******** ******* ********* ********* *****
'
INITIAL_SETTING:
'
' Entering Names
Screen 0 : Screen To Front 0
Palette $50A,$FFF,$FF2,$F00,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
Curs On : Cls 0
Paper 0 : Pen 4
Clear Key
For M=1 To 8
Print "Input Your 5 letter name player:";M
Input N$(M)
N$(M)=Left$(N$(M),5)
N$(M)=Upper$(N$(M))
If N$(M)="" Then Exit
Next
Dec M
SM=M
For A=1 To M
S(A)=10
Next
Put Key "10"
Input "How many rounds:";ROU
'
' Making Screens
Flash Off : Curs Off : Cls 0
Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
Paste Bob 51,13,1
Gosub NAMELIST
Screen Open 2,320,200,32,Lowres
Flash Off : Curs Off : Cls 0
Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
Paste Bob 0,0,6
Paste Bob 0,98,7
Screen Open 1,320,200,32,Lowres
Flash Off : Curs Off : Cls 0
Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
Paste Bob 75,17,4
Paste Bob 242,90,2
Screen Copy 2,0,0,30,29 To 1,116,74
Screen Copy 2,0,0,30,29 To 1,145,74
Screen Copy 2,0,0,30,29 To 1,174,74
Ink 3,0
Get Rom Fonts
Set Font 1
Set Text 6
Gr Writing 0
Reserve Zone 5
Set Zone 1,209,115 To 218,124
Set Zone 2,209,128 To 218,137
Set Zone 3,97,109 To 104,146
Set Zone 4,124,42 To 193,60
Set Zone 5,243,87 To 266,113
Screen To Front 0 : Screen 0
Repeat
Until Mouse Click or Fire(1) or Key State(69)
Gosub TRANS
Return
'
THE_GAME:
For I=1 To 3
Y(I)=0
DES(I)=0
COU(3)=0
R(3)=0
Next
NY=0
Music 1
VOL=63
Pen 1
Paper 0
Repeat
Cls 0,0,0 To 320,7
Centre "Remaining Rounds:"+Str$(ROU-1)
For CUR=1 To M
Repeat
Add NY,1,7 To 16*M+6
Screen Copy 0,111,55+NY,192,55+NY+9 To 1,120,149
Wait 3
Until NY/16.0=Int(NY/16)
If S(CUR)=<0
Goto SCORE_0
End If
'
PREPARATIONS:
BET=1
Gosub SCORE
Repeat
If(Jleft(1) or Mouse Zone=2 and Mouse Key) and BET>1
Add BET,-1
Gosub SCORE
Sam Play 3,1
Wait 7
End If
If(Jright(1) or Mouse Zone=1 and Mouse Key) and BET<10 and S(CUR)>BET
Add BET,1
Gosub SCORE
Sam Play 3,1
Wait 7
End If
If Key State(69) or Mouse Zone=3 and Mouse Key
Sam Play 3,1
Gosub TRANS
Repeat
Until Fire(1) or Mouse Click or Key State(69)
Sam Play 3,1
Gosub TRANS
End If
If Mouse Zone=4 and Mouse Key=1 and VOL>0
Add VOL,-1,0 To 63
Mvolume VOL
Wait 2
End If
If Mouse Zone=4 and Mouse Key=2 and VOL<63
Add VOL,1,0 To 63
Mvolume VOL
Wait 2
End If
Until Jdown(1) or(Mouse Zone=5 and Mouse Key)
Cls 0,242,90 To 266,112
Paste Bob 242,107,3
Music Off
Sam Play 3
Repeat
Until Jdown(1)=0 and Mouse Key=False
Cls 0,242,107 To 266,129
Paste Bob 242,90,2
Sam Play 4
Wait 12
'
SPIN:
For A=1 To 3
R(A)=Rnd(6)
COU(A)=0
If A=1 Then DES(A)=(168-Y(A))+3*168+R(A)*24
If A=2 Then DES(A)=(168-Y(A))+5*168+R(A)*24
If A=3 Then DES(A)=(168-Y(A))+7*168+R(A)*24
Next
SPEED#=4
Repeat
For A2=1 To SPEED#
For A=1 To 3
If COU(A)<>DES(A)
Add Y(A),1,0 To 167
Add COU(A),1
End If
If COU(3)=DES(A)
Sam Play 12,4
End If
Next
If COU(2)=DES(2)
If SPEED#=4
SPEED#=SPEED#+1
End If
SPEED#=SPEED#-4.0/(DES(3)-DES(2))
End If
Next
Add SOUND,1,SPEED#*3 To 15
If SOUND=15 Then Sam Play 3,1
Screen Copy 2,0,Y(1),30,Y(1)+29 To 1,116,74
Screen Copy 2,0,Y(2),30,Y(2)+29 To 1,145,74
Screen Copy 2,0,Y(3),30,Y(3)+29 To 1,174,74
Wait Vbl
Until COU(3)=DES(3)
Wait 60
'
COUNTING_SCORE:
If R(1)=R(2) and R(2)=R(3) and R(3)=6
BET=BET*1000
Goto WIN
End If
If R(1)=R(2) and R(2)=R(3)
BET=R(1)/2.0*BET*10+BET*10
Goto WIN
End If
If R(1)=R(2) or R(2)=R(3)
BET=R(2)/2.0*BET-BET
Goto WIN
End If
BET=-BET
'
WIN:
Add S(CUR),BET
If S(CUR)=0 Then Dec SM
Gosub SCORE
Screen 0
Gosub NAMELIST
Screen 1
Screen Copy 0,111,55+NY,192,55+NY+9 To 1,120,149
Sam Play 2
Wait 65
Music 1
Repeat
Until Mouse Click or Fire(1)
SCORE_0:
Next
Dec ROU
Until ROU=<0 or(M>1 and SM=1)
If SM>1
For A=1 To M-1
For L=A+1 To M
If S(L)>S(A)
Swap S(L),S(A)
Swap N$(L),N$(A)
End If
Next
Next
End If
Screen 0
Gosub NAMELIST
Screen 1
Gosub TRANS
Repeat
Until Fire(1) or Mouse Click or Key State(69)
Return
'
TRANS:
Shift Off
Fade 4 : Wait 4*15
Screen To Front -Screen+1
Screen -Screen+1
Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Fade 4 To 2 : Wait 4*15
Shift Up 5,29,31,1
Return
'
ENTER_NAME:
Return
'
NAMELIST:
Pen 1
Paper 0
For A=1 To M
Print At(14,7+A*2)+N$(A)+" "
Print At(24-Len(Str$(S(A))-" "+"$"),7+A*2)+"$"+Str$(S(A))-" "
Next
Return
'
SCORE:
Paste Bob 123,118,5
Text 161-Len("$"+Str$(BET)-" ")*8/2,128,"$"+Str$(BET)-" "
Return